// 验证是否为blob格式
export function blobValidate(data: any) {
  return data.type !== "application/json";
}
// 获取checkbox的数据的值，如果有数据返回第一个，如果没有返回undefined
export function checkBoxGetValue(value: any, defaultValue: any) {
  if (Array.isArray(value) && value.length > 0) {
    return value[0];
  }
  return defaultValue;
}

//判断是否是手机号
export function isPhone(phone: string) {
  const reg = /^1[3-9]\d{9}$/;
  return reg.test(phone);
}

// 判断是否是邮箱
export function isEmail(email: string) {
  const reg =
    /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/;
  return reg.test(email);
}
// 判断是否是身份证号
export function isIdCard(idCard: string) {
  const reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
  return reg.test(idCard);
}
// 密码强度验证， 6-20位， 必须包含大小写字母和数字
export function isStrongPassword(password: string) {
  const reg = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{6,20}$/;
  return reg.test(password);
}
// password message
export const passwordMessage = "密码长度6-20位，必须包含大小写字母和数字";

// sleep
export function sleep(ms: number) {
  return new Promise((resolve) => setTimeout(resolve, ms));
}

// 判断是否是图片，mime "image/*"
export function isImage(fileType: string) {
  return fileType?.startsWith("image/");
}

// 判断是否是PDF，fileType "application/pdf"
export function isPDF(fileType: string) {
  return fileType === "application/pdf";
}

//获取随机ID
export function getRandomId() {
  return Math.random().toString(36).substr(2, 9);
}

export const formatData = (val: any) => {
  return val === "" || val === null || val === undefined ? "--" : val;
};
